package com.quectel.sdk.baidu.model.img;

import com.quectel.sdk.baidu.model.BaiduBCEBaseResp;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * @author zhangheng
 * @email nolan.zhang@quectel.com
 * @date 2023/5/12 9:28
 * @description new java file header...
 * <p>
 *
 * log_id	Long	是	请求唯一id，用于问题排查
 * error_code	Long	否	错误提示码，失败才返回，成功不返回
 * error_msg	String	否	错误提示信息，失败才返回，成功不返回
 * conclusion	String	否	审核结果，可取值描述：合规、不合规、疑似、审核失败
 * conclusionType	uint64	否	审核结果类型，可取值1、2、3、4，分别代表1：合规，2：不合规，3：疑似，4：审核失败
 * data	Array	否	不合规/疑似/命中白名单项详细信息。响应成功并且conclusion为疑似或不合规或命中白名单时才返回，响应失败或conclusion为合规且未命中白名单时不返回。
 * +error_code	uint64	否	内层错误提示码，底层服务失败才返回，成功不返回
 * +error_msg	string	否	内层错误提示信息，底层服务失败才返回，成功不返回
 * +type	Integer	否	结果具体命中的模型：0:百度违禁图库、1：色情识别、3：恶心图识别、4:广告检测、6：图像质量检测、7：用户图像黑名单、8：用户图像白名单、10：用户头像审核、11：百度违禁词库、12：图文审核、13:自定义文本黑名单、14:自定义文本白名单、15:EasyDL自定义模型、21：违禁识别、24：直播场景审核
 * +subType	Integer	否	审核子类型，此字段需参照type主类型字段决定其含义：
 * 			当type=0时subType取值含义 :
 * 			0：百度官方违禁图
 * 			当type=1时subType取值含义: 0:一般色情、1:卡通色情、2：SM、3：低俗、4:儿童裸露、5：艺术品色情、6：性玩具、7：男性性感、8：自然男性裸露、9：女性性感、10：卡通女性性感、11:特殊类、12:亲密行为、13:卡通亲密行为、14:孕肚裸露、15:臀部特写、16:脚部特写、17:裆部特写
 * 			当type=3时subType取值含义:
 * 			0:恶心图、1:性器官特写、2:脏器、3:疾病表症、4:密集恐惧症、5:腐烂食物、6:排泄物、7:恶心动物、8:人体血腥和尸体、9:动物血腥及尸体
 * 			当type=4时subType取值含义：0:水印、1:二维码、2:条形码、3:识别二维码中内容、4:识别条形码中内容、5:不过滤字幕、6:小程序码、7:水印自定义黑名单、8:水印自定义白名单
 * 			当type=6时subType取值含义:
 * 			0:图像清晰度、1:图像美观度
 * 			当type=7时subType取值含义:
 * 			0:用户自定义图像黑名单
 * 			当type=8时subType取值含义：
 * 			0:用户自定义图像白名单
 * 			当type=10时subType取值含义：
 * 			0：图像中必须是真人脸
 * 			1：人脸必须为正脸
 * 			2：左右旋转角度
 * 			3：俯仰角度
 * 			4：歪头角度
 * 			5：人脸不能有遮挡
 * 			6：不能遮挡眼睛
 * 			7：不能遮挡鼻子
 * 			8：不能遮挡嘴
 * 			9：不能遮挡下巴
 * 			10：不能遮挡脸颊
 * 			11：人脸不能佩戴墨镜
 * 			12：人脸占比
 * 			13：人脸必须清晰
 * 			15：人脸为女性
 * 			16：人脸为男性
 * 			17：人脸为未成年
 * 			当type=11时subType取值含义：
 * 			0:百度默认违禁词库
 * 			当type=12时subType取值含义：
 * 			0:低质灌水、2:文本色情、4恶意推广、5:低俗辱骂、6:恶意推广-联系方式、7:恶意推广-软文推广、8:广告法审核
 * 			当type=13时subType取值含义：
 * 			0:自定义文本黑名单
 * 			当type=14时subType取值含义：
 * 			0:自定义文本白名单
 * 			当type=21时subType取值含义：
 * 			1:真人吸烟、2:卡通吸烟、3:毒品、4:真人饮酒、5:卡通饮酒、6:赌博、7:纹身、9:竖中指、10:野生动物制品
 * 			当type=24时subType取值含义：
 * 			0:卫生间场景、1:车内场景、2:卧室场景、3:无意义场景、4:普通场景
 * +msg	String	否	不合规项描述信息
 * +probability	Float	否	不合规项置信度
 * +datasetName	Float	否	违规项目所属数据集名称
 * ++probability	Float	否	人脸相似度
 * ++datasetName	Float	否	人脸所属数据集名称
 * +hits	Array	否	命中关键词信息
 * ++words	String	否	违规文本关键字
 * +codes	Array	否	(如果您在策略配置中勾选了二维码识别)二维码或者条形码识别结果
 * ++modelName	String	否	（如果您勾选了EasyDL的模型）命中自定义模型名称
 * ++score	Float	否	（如果您勾选了EasyDL的模型）命中自定义模型置信度
 * ++modelId	Array	否	（如果您勾选了EasyDL的模型）命中自定义模型ID
 * ++label	String	否	（如果您勾选了EasyDL的模型）命中自定义模型标签名称
 * +results	JSONArray	否	每个type可能会调用多个底层服务，此处可能有多个结果
 */
@Data
@EqualsAndHashCode(callSuper=true)
public class BaiduBCEImgResp extends BaiduBCEBaseResp implements Serializable {

    private String conclusion;

    private int conclusionType;

    private List<BaiduBCEImgDataModel> data;
}
